9e47bd618186d372016b093389a0998ff8f71316,source/com/intellij/openapi/editor/actions/ToggleCaseAction.java,Handler,executeWriteAction,#Editor#DataContext#,23

Before Change


          toCase(builder, text, false);
        }
        editor.getDocument().replaceString(startOffset, endOffset, builder.toString());
        editor.getSelectionModel().setSelection(startOffset, endOffset);
      }
      finally {
        StringBuilderSpinAllocator.dispose(builder);

After Change



  private static class Handler extends EditorWriteActionHandler {
    public void executeWriteAction(Editor editor, DataContext dataContext) {
      final SelectionModel selectionModel = editor.getSelectionModel();

      final int[] starts;
      final int[] ends;
      LogicalPosition blockStart = null;
      LogicalPosition blockEnd = null;

      if (selectionModel.hasBlockSelection()) {
        starts = selectionModel.getBlockSelectionStarts();
        ends = selectionModel.getBlockSelectionEnds();
        blockStart = selectionModel.getBlockStart();
        blockEnd = selectionModel.getBlockEnd();
      }
      else {
        if (!selectionModel.hasSelection()) {
          selectionModel.selectWordAtCaret(true);
        }

        starts = new int[] {selectionModel.getSelectionStart()};
        ends = new int[] {selectionModel.getSelectionEnd()};
      }

      selectionModel.removeBlockSelection();